/**
* @version 1.0
* @package FACTURAPYMES.
* @author Jorge Washington Mueses Cevallos.
* @copyright Copyright (C) 2010 por Jorge Mueses. Todos los derechos reservados.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL.
* FACTURAPYMES! es un software de libre distribución, que puede ser
* copiado y distribuido bajo los términos de la Licencia Pública
* General GNU, de acuerdo con la publicada por la Free Software
* Foundation, versión 2 de la licencia o cualquier versión posterior.
*/

package jm.cnt;

import java.io.*;

import javax.servlet.*;
import javax.servlet.http.*;
import jm.cnt.clas.ReposicionCajaChica;
import jm.seg.clas.Auditoria;

/**
 *
 * @author Jorge
 */
public class frmReposicionCajaChicaAprobar extends HttpServlet {
    private String _ip = null;
    private int _puerto = 5432;
    private String _db = null;
    
    public void init(ServletConfig config) throws ServletException
    {
        this._ip = config.getServletContext().getInitParameter("_IP");
        this._puerto = Integer.parseInt(config.getServletContext().getInitParameter("_PUERTO"));
        this._db = config.getServletContext().getInitParameter("_DB");
    }

    /**
    * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
    * @param request servlet request
    * @param response servlet response
    */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        HttpSession sesion = request.getSession(true);
        //int id_sucursal = (Integer)sesion.getAttribute("sucursal");
        String usuario = (String)sesion.getAttribute("usuario");
        String clave = (String)sesion.getAttribute("clave");

        response.setContentType("text/html;charset=UTF-8");
        response.setHeader("Pragma", "no-cache");
        response.setHeader("Expires", "Mon, 01 Jan 2001 00:00:01 GMT");
        response.setHeader("Cache-Control", "no-store");
        response.setHeader("Cache-Control", "must-revalidate");
        response.setHeader("Cache-Control", "no-cache");
        PrintWriter out = response.getWriter();
        
        ReposicionCajaChica objReposicionCajaChica = new ReposicionCajaChica(this._ip, this._puerto, this._db, usuario, clave);
        
        try {
            String r = "msg»Ha ocurrido un error inesperado, por favor, vuelva a intentarlo más tarde o " +
                    "contáctese con el administrador del sistema para mayor información.";
            String id = request.getParameter("id");
            //String imprimir = request.getParameter("imprimir");
            String WHERE = request.getParameter("WHERE");
            String p = request.getParameter("p") != null ? request.getParameter("p") : "0";
            
            String ids_vales = "";
            String aprobaciones = "";
            String observaciones = "";
            String tipDocs = "";
            int i=0;
            while(request.getParameter("obs"+i) != null){
                ids_vales += request.getParameter("id_num_val"+i) + ",";
                aprobaciones += request.getParameter("ap"+i) + ",";
                observaciones += request.getParameter("obs"+i) + ",";
                tipDocs += request.getParameter("tipDoc"+i) + ",";
                i++;
            }
            if(ids_vales.compareTo("")!=0){
                ids_vales = ids_vales.substring(0, ids_vales.length()-1);
                aprobaciones = aprobaciones.substring(0, aprobaciones.length()-1);
                observaciones = observaciones.substring(0, observaciones.length()-1);
                tipDocs = tipDocs.substring(0, tipDocs.length()-1);
            }
            
            if(objReposicionCajaChica.aprobar(id, ids_vales, aprobaciones, observaciones, tipDocs)){
                Auditoria auditoria = new Auditoria(this._ip, this._puerto, this._db, usuario, clave);
                auditoria.setRegistro(request, "REGISTRO DE REPOSICION DE CAJA CHICA");
                auditoria.cerrar();
                r = "err»0^vta»vta1"
                + "^tbl»"+objReposicionCajaChica.paginar("tbl_reposicion_caja_chica", "id_reposicion_caja_chica,num_reposicion_caja_chica,toDateSQL(periodo_desde),toDateSQL(periodo_hasta),total_importe", WHERE, Integer.parseInt(p), 100)
                + "^msg»Aprobación ingresada satisfactoriamente.";
            }
            
            out.print(r);
        } finally {
            objReposicionCajaChica.cerrar();
            out.close();
        }
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
    * Handles the HTTP <code>GET</code> method.
    * @param request servlet request
    * @param response servlet response
    */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
    * Handles the HTTP <code>POST</code> method.
    * @param request servlet request
    * @param response servlet response
    */
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
    * Returns a short description of the servlet.
    */
    public String getServletInfo() {
        return "Short description";
    }
    // </editor-fold>
}